home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor1 / tree.src < prev    next >
Text File  |  1990-10-09  |  2KB  |  36 lines

  1. %%HP: T(3)A(D)F(.);
  2. @ by Eric Davis
  3. @ TREE: builds graphic object of directory tree
  4. \<<
  5.   CLLCD                                         @ >>> sect 1 <<<
  6.   PATH HOME { :0: "HOME" } '$2' STO             @ return path & base dir
  7.   \<<                                           @ dir find prog: $1
  8.     1 +                                         @ advance level
  9.     15 TVARS 1
  10.     IF OVER SIZE                                @ look for dir objs 
  11.     THEN
  12.       DO
  13.          GETI DUP 2 DISP DUP 5 PICK \->TAG      @ tag dir at current level
  14.          PATH HOME SWAP $2 SWAP + '$2' STO EVAL @ save in HOME temp var&rtn
  15.          EVAL 3 PICK $1                         @ next dir & look for more
  16.       UNTIL DUP 1 ==
  17.       END
  18.     END 3 DROPN
  19.   \>> '$1' STO  \-> r                           @ prog in HOME & path local
  20.   \<<
  21.     0 $1 HOME $2                                @ dirs; get result list
  22.     { $1 $2 } PURGE r EVAL                      @ zap temps & return path
  23.     CLLCD                                       @ >>> sect 2 <<<
  24.     DUP SIZE 8 * R\->B # 83h SWAP BLANK SWAP    @ build blank GROB
  25.     :0: "" +                                    @ and add dummy to list
  26.     1
  27.     DO
  28.        GETI OBJ\-> OBJ\->                       @ indented entry -> GROB
  29.        9 * R\->B 3 PICK 2 - 8 * R\->B 2 \->LIST
  30.        5 ROLL 3 ROLLD SWAP
  31.        DUP \->TAG OBJ\-> SWAP DROP 2 \->GROB REPL 3 ROLLD
  32.     UNTIL DUP 1 ==
  33.     END DROP2 PICT STO { } PVIEW PICT PURGE     @ clean up & show
  34.   \>>
  35. \>>
  36.